import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * clase Boton se usa para pintar y la animacion de los botones.
 * @author Anthony Robledo 
 * @version 1.1
 */
public class Boton extends Actor
{
    private boolean cambio;// bandera para saver si el maouse paso por el objeto 
    protected int estado;// estado que se manda al mundo para saver que boton se preciono
    protected String off;// cadena que guarda el nombre de la imagen si esta apagado el boton
    protected String on;//cadena que guarda el nombre de la imagen si esta encendido el boton
    
    /**
     * actua del boton detecta si se le da click al objeto 
     * y regresa al mundo el estado que tiene el boton 
     */
    public void act() 
    {
        animacion();
        if(Greenfoot.mouseClicked(this))
        {
            getWorld().repaint();
            ((mundo)getWorld()).cambiaEstado(estado);   
        }
    }  
    /**
     * cambia la imagen si se paso por encimas del objeto 
     */
    public void animacion() 
    {
      if(Greenfoot.mouseMoved(null)) {
          MouseInfo m=Greenfoot.getMouseInfo();
       int dx=Math.abs(getX()-m.getX());
       int dy= Math.abs(this.getY()-m.getY());
       
       if(dx<getImage().getWidth()/2&&dy<getImage().getHeight()/2)
         cambio=true;
       else
         cambio=false;
       }
      
      if(cambio) 
          super.setImage(on);
      else 
          super.setImage(off);
    }
    
}

